1. Field of the Invention
The invention is related to distributed clock systems and, in particular, to a method for synchronizing a distributed multiple clock system in a fault tolerant manner.
2. Prior Art
Various methods for synchronizing distributed clock systems are known in the art. Avsan et al, in U.S. Pat. No. 3,761,884, discloses a synchronization method in which all of the clocks in the system are reset when the fastest clock reaches a predetermined count. In contrast Smith, in U.S. Pat. No. 3,932,847, teaches a time-of-day clock synchronization system in which each out-of-sync clock is detected, then restarted using a synchronization program to be in sync with a selected one of the clocks that are in synchronization. Alternatively, Whiteside, in U.S. Pat. No. 4,330,826, discloses a synchronization system in which synchronizer modules receive sampling number messages from a plurality of computers. A find sampling number agreement module generates a voted sampling number and a sampling period timer is adjusted to synchronize its period with the voted sampling number Jensen et al, in U.S. Pat. No. 4,229,792, discloses a synchronization system in which each received message has a time slot number which is compared with the current time slot number of the receiving unit to establish synchronization. Further, Glenn et al in U.S. Pat. No. 4,392,196 discloses a synchronization system in which a time window is generated by a time alignment controller and, if the local pseudo time accumulator of each clock is within the time window, it is allowed to operate.
Each of these systems have particular advantage for particular application. For example, the synchronization system taught by Whiteside et al is for a fault tolerant multiple computer system and therefore synchronization also has to be fault tolerant. Synchronization is achieved by voting to obtain an average time value. Then the clock in all of the computers in the system are reset in accordance with the voted time value. Disclosed herein is a synchronization system for distributed clock which has no central clock, is fault tolerant and can achieve synchronization from any initial state.